qqqqppppqqqqqqqqqqppppppppppppppqqqqppppqpppppppppppqqqqqqqqppppppppppppppppppppppppqqqqppppppppppppqqqqppppppppqqqqqqqqppppqqqqqqqqppppqqqqqqqqpqqqppppppppppppqqqqppppqppppppppppppqqqqqqqppppppppppppppppppppppppqqqqppppppppppppqqpppppppqqqqqqqqqppppqqqqrppppqqqqqqqqqqqpppppppqqppppqqqqpppppppppppppppqqqqpppppqpppppppqqppppppppppppppqqqqpppppppppppqqqqqppppppqqqqqrrqqqppppqqqqqqqqppppqqqqqrrqqpqqppppqqqqpppqqqqqpqqqqqqqqpppppqqqppqqqqqpqpppppprrppppppppppppppqrrqppppqppppppppppppppppqqqqqrrrqqqprqppppppppppppqqqqrrrqppppppppqqrqqqqrrqqqqqqqqqqqrqqqqqqqqpqqqqqqqpqpppppppppppppqqqqppppppppppqqppppppppqppqpppppqqqqqrrrqddppppppppppppppppqqqqqqqqppppppppqqrrqqqqqpqqqqqqqqqrrqqqrqqppqqqqqqqpppppppppppppppqqqqpppppppppqrrppppppppqqqqppppppqqqqqqdpppppppppppppppppppqrqqqppppppppppqqqppqqqppqqqqqqqqqpqqqqqqpqqqqqqqqpppppppppppppppqqqqqpppppppppppppppppppqqqqpppppppqqqqpppppppppppppppppppppqqqqppppppppppppqqpppqqqqqrrqqqqqqqqpppqpppqpqqqqqqqppppppppppppppppqqqrpppppppppppppppppqqqrrqppppppppqqppppppppprqppqqqqppppppppppppppppppppppppqqqqqpqqqqqppppqpppppppppqqqqqpppppppppppppppppppppppppqpppppppppppppprrqdpppppppppppppppppppppqqpppqqrrppppppppppppppppppppppppqqqqqppppqqpppqqpppppppqqqpppppppppppppppppppppppppppppqppqqppppppppppppppppppppppppppppppppppppppppqqqqpppppppppppppppppppppppqqqqqqppqpqqqqppppppppqqqqqqppppppppppppppppppppppppppqqqqqqpppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppqqpqrqqqqppqqqqppppppppppqqqqqpppppppppppppppppppppqqpppqrrqqqqqpppppppppppppdddppppppppppppppppppppppppppppppppqppppppppppqpqqqqrrqqqqqppppppppppppppppppppppppppppppppppppppqqqrrqpqppppqqqqqqqpppppppppppppppppqqqqppppppppppppppppppppppppqqppppppppppqqqqqqqqqpqqqqqqpppppppppppppppppppqqqppppppppppppppqqqqppppppppqqqqpqqqppppppppppppppppqqqqppppppppppppppppppppppppppppppppppppqqqpqqqqppqqppppppppppppppppqqqpppppppppqqppppppppppqqqppppqqqppqrqqqpqpppppppppppppppppqqqrpppppppppppppppppppppppppppppppppppqqqpqqqqqqqqqppppppppppppppqppqppppppppppqppppppppppqqqqppqrqrrrqqqppppppppppprpppppqqqqpppppppppppqqpppppppppppppppqqqqqqqqqqqqqqqqqqddqpppppppppppqqqqqdqdppppppppppppppppqqppppppqqqqqqqqrrqqppppppppppppqqqpppppqpppppppppqqrrqqqqppppppppppppqqqqqqqqqqqqqqqqddppppppppppppqqrrqqddppppppppppppppppqpppppqqqqppppqqpppppqppppppppppppppppqqpppppppppprrrqqqqqppppppppppppqqqrqqqqqqqpqqqqdpppppppppppppqqrrrqdddpppppppppppppppqqqppppppqqqqppppqpppppqqpppppppppppppppppppppppppppqrrqppppqppqpppppppqqqqqqqqqqqqppqpddppppppppppppqpqqqqdpppppppppppppppppppppppppppqqqqppqqqpppppqppppppppppppppqppppppppppppppqpppppqqppqqppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpqqqqppppppppppppppppppppqqqqqqpppqppppppppppqqqqpppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppqqqqrrrqqqqpppppppppqqqqqpppppppppppppppppppqqqpppppppppppppppppppppppppppppppppppqqpppppppppppppppppqqqqqpppppppppppppppqqppppqqqrrrrqppppppppppppqqqqqqqppppppppppppppppppppppppppppppppppqqqppppppppppppppppppppppppppppppppppppqqpppppqpppppppppppppprrppppqqqqqqppppqpppppppppqqqppppqqqqqqppppppppppppppppppppppppppqqrqpppppppppppppppppppppppppppppppppppprqqpppppppppppppppppppppppppppppppppqqqppppppppppppppppqqqqqqqqppppppppppppppppppppppppqrrqppppppppppppppqppppppppppppppppppppqqqqppppppppppppppppqppppppppppppppppppppppppppppppppppppqqqqqqqqppppppppppppppqpppppppppqqqppppppppppppppqqpppppppppppppppppppqqqpppppppppppppppppqqrppppppqqpppppppppppppppppppppppppqqqqqqqpqqpppppppppppprrpppppppppqpppppppppppppppppqqpppppppppppppppppqqpqpppppppppppppppppqpqpppppppqppppppppppppppppppppppppqqqqqqqqqqpppppppppppppppppppqqqqpppppppppppppppppqrppppppppppppqqqqqqqqqqqqqppppppppppqppppppppppppqqppppppppppqqqpqqqqqqqqpppqqqqrrqqpqpppppppppppppppppppqqqqppppppppppppppppppqpppppppppppppqqqqqqqqrrqqppppppppppqqrppppppppppppppppppppqqqqqqqqqqqqqqpqqqqqrrrqqppppppppqppppppppppppqqqqqpppppppppppppppppppppppppppppppqqqqqqqrrrqqqpppppppppqpqpppppppppppppppppppqqppppqqqqqrqqqppqqqqqqqppppppppppqqqppppppppppqqqrrpppppppppppppppppppppppppppppppqrrqqqqrrrqqppqqpppppppppppppppppppppppppppppqqqqqppqqqqppqqpppqpqqppppppppppppprrqppppppppppppqppppppppppppqqrqppppppppppppppppppppqqqqqddppqppppppppppppppppqqqqpppppqqpqqqqqqqqqqppppppppqqqpppppppppppppppppppppppppppppppppppqpppppppqqrrppppppppppppppppppppqrqqdppppqqqppppppppppppppppqqqqppppqqqpqqqqqqqqpqpppppppppppppppppppppppppppppppppppppppppppppqqqppppppqpppppppppppppppppppppppqqppppppppppppppppppppppppppqqqqqpppqqpqqqqrqqqqppqpppppppppppppppppppppppppppppppppppppppppqqqqqpqpppppqpppppppppppppppppppppppppppppppppppppppppppppppppppqqqrrpppqqpqqqqqqqqqppppppppppppppppppppppppqqqqpppppppppppppqqqqpppqqqqppppppppppqqrqqqppppqqqqppppppppppppppppppppppppppppppppppqpppppqqppqqqqqpppppppppppppppppppqqqpppppqqqqppppppppppppqqqppqqqppqqppppppppppqqrqqppppqqqqpppppppppppppppppppppppppppppppppppppppppqqpdddppppppppppppppppppppprrqqppppqqrpppppppppppqqqpqqqqqqppqppppppppppqqqppqppppqqppppppppppppppppppppppppppppppppqqppppppppqqppppppppppppppppppppppppqqppppppqqqqpppppppppppqqpqqqqqqqqpqpppqppppppqppppqppppqqqqppppqqppppppppppppppppppppqpqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqpqqqrrqqqpqpppqqqqqppppppppppppppppppppqrqqqqqqppqqqqppppqqqqqqqqqqqqqqppppppppppppppppppppppppppqqppppppppppppppppppppqqqqqqqqqpqqqrqqqpqpppqrqppqpppppppppppppppppppprrqqqqppppppqqppppqqqpqqqqqqqqpppppppppppppppppppppppppqrrpppppppppppppppppppqqqqqqqqqqpqqqqqqpqpppppppppqppppppppppppppppppppppppqqqpppqqqqppqpqqqppqqqqqqqqqppppppppppppppppppppppppppppppppppppppppppppppqrqqqqqqqqppqqqqqpppppppppppqppppppppppppppppppppppppqppppqqqqqqppqpqqpqqqqqqqqppppppppppppppppppppppppppppppppppppppppppppqqqqppqqqpqpqqqqqqppppppppppppppppppppppppppppppppppppppppppqqqqqqqppqqqppqqrrrrqppppppppppppppqqqqqppppqqppppppppppppppppppppppqqpqppqqqpqpppppppppppppppppppppppppqqppppppppppppppppppqqqpqqqqqqqpqqqqpqqqrrqqppppppppppppppprrqqqqqqqqppppppppppppppqpqqqqqqqqqpqqqqqpppppppppppppppppppppppppppqrrpppppqppppppppppppqqpqqqqqqqpppppqpqqqqqqqqppppppppppppppqqpqqppqqqqpppppppppppppqqqqqqqqqqqpqqqppppppppppppppppppppppppppppppppppqppqprpppppppppqqppqqqqppppppppppqqqppppppqpppppppppqpppppqqqppqqqpppppqqqqppqqqqqqpqqqqqqpqpppppppppppqqqqppppppppqqqqpppppppqppppqqqpppppppqpqqqppppppppppppqqppppppppppppqqpppppqppppqqqqqqqqpppppqqqqppppqqqqqpqqqppppppppppppppqqqqqppppppppqqqqppppppprqppppppppppppppppqqpppppppppqqqpqppppppppppppppppppqqpppqqqqqqqqqqqppppqqqqppqqqqqqqpqpppppppppppppqqqrrqqppppppppqqqppppqqqqppppppppppppppppppppppppppppqqqqpppppppppppppppppppppppppqqqqqqqqpppppppqqqqpppqqrrqqqpqqppppppqpppppqqqqqqqppppppppqqqqppppqqqpppppqqqppppppppppppppppppppqqqqqppppppppppppppppppppppppqqqqqqqqppppppppppppppqqrrrrqqppqqqqpppqqpppqqqqpqppppppqqqqppppppppppppppppppppppppqqqqppppppppppqqqqqqqpppppppppppppppppppppppqqqqqqppppppppppppppppqqrrqqppppqpppppqppppqqqqqppppppppqrqppppppppppppppppppppppppqqqqpppppppppppqqqqqqpppppppppppppppppppppqppppqppppppppppppppppppqqqqppppppqpqqqqqppppqqqqqppppppppqqppppppppppppppppppppppppppqqqqppppppppppqppppppppppppppppppppppppppppqpppppppppppppppqppppqqppppppppppqqqqqqqqpppprqqpppppppppppppppppppppppppppppqqpppppqqqqppqqppppppppppppppppppppppppppppppqqqpppppppppppppppppqpqqppppppppppppqqqqqqddqppqqqppppppppppppppppppppppppppqqqqqqrrppppqrpppqqqqppppppppppppppppppppppppppqqqqrqppqpppppppppppppppppqqqqppppppppppqqqqqdddpppppppppppqqpppppppppppppppppppqqqqqqqqpppppppppprrqqqpppppppppppppppppppppppppqqqrrqppppppppppppppppppppqqrqppppppppppqqqqddppppppppppppqrrpppppppppppppppppppqqqqqqppppppppppppppppqqppppppppppppppppppppppppqqpqppppqpppppppppppppppppqpppppppppppppqqqqpppppppppppppppqppppppppppppppppppppqqqqqpppppppppppppppppqpppppppppppppqqqqqqpppppqqqpppppqqqpppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppqqqqppppqqqqqqqpqqqqpppppppqqqqqqqqqppppppppppppqrrqppppppppppppppppppppppppppppppppppppppqppppqppppppppppppppppppppppppppppppppqqqqppppqqrrrrqpqqqqpppppppqqqqqqqqqqpppppppppqpqqpppppppppppppppppppppppppppppppppppppdqpqppppqpppppppppppppqpqqqqpppppqqppppppqqqrpppqqqrrqppqrrqpppppppqqqqqqqqqqpppppppqqqqqqppppqpppppppppppppppppppppppppppppppdqqpppppqqqqppppppppqpqqqqqqqqqqqprrqpppppqqqqppppqqqqppppqqqqppppppqpqqrrrqqqppppppppqqqqqqqqpqqqppppppppppppqqqqqqqqppppppppdpddppppqqqqqqqqqqqqqqqqpqqqppqqqqppppppppppppppppppqpppppppppppppppppppqqrrqqppqqqqpppppqqpqqqqppqqqppppppppppqqqqqqqqqppppppqqqdppppppqqqqqqqqqqqqqrrqqqqqqqppqqppppppppppppppppppppppppppppppppppppppqqqqppppqqqppppqqqpqqqqqqppqpppppppppppprrqqqqqqppppppqqqddpppppqqqrrrqqqqqqqqpppqqqqqqpqqppppppppppppppppppppppppppppppppppppppqpppppppqrqqpppqqppqqqqqqqpqqppqppppqpppqppqrrqqqpppppqppddpppppqqrrrqqqqqqqqppppqqqqqqppqppppppppppppqqrrqpppppppppppppqpppppppqpppppppppqrqpqqqpqqqrrqqqpqppppppqqqqppppppddqrpppppqqpppppppppqqqqqqppqqrrqqpppqrrrrqqpppppppppppqqqrrrrqqppqqqpppppqqqqqppppppppppppppppppqqqpqqqqqqqqqqppppqqqqpppqqppppppdppppppqpppppppppqqqqppqpqqrrqqqqqqqqqqqqpppppppppppqqqqrrqqqppppppppppppqqqqpppppppppppppppppppqqpqqqqqppqqqppppqqqppqqrqpppppppppppppppppppppqqqqppppqqrqqppppqqqqqqqpppppppppppqqqqqqqpppppppppppppppppqpppppppppppppppppppqqppqqppppqqqpppppqpqqqqrqqppddppppppqpppppppppppqqqqppppqqqqpppppqqpqqpppppppppppppqqqqqqpppppppprrqppppppqqppppppppppppppppppqqqpppqpppppppppppqqqqqqqqpppppppppqqqppppppppppqrrqqqppqpqqppppppqpqppppppppppqqqpppppppppppppqqppqqpqqqqppppppppppppppppppppppqqqqqqqpppppppppppqpqqqqrqqpppqqqqppppqpppppppqqqqqqqqqpqppppppppppppppppppppppqqpppppppppppqqpppppqqqqpppppppppppppppppppppqqpqqqqqpppppppppppqpqqqqqqqppppqppqqqqpqppppppqqqqqqqqqpqpppppppppppppppppppppppppppppppppppppqpppppppqqqqqpppppppppppppppppppppqpqqrqqpppppppppppqppqqqqqpppppqpqqqqqppqpppppqqqqqqqqqpppppppppppppppppppppppppppppppppppppqqqppppqqrrqqqqppppppppppppppppppppqqpqrrqqqpppppppppppqpppppppppppqqqqqqqqqppqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppqqqrrrqqppppppppqppqqqppppppppppqqqqqpppppppppppppqppppppppppqqqqqqqqqqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppppppppqqqqrqqqppppppqqqpppqppppppqqppqpppppppppppppppppppppppppppqqqqqqqppqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqppppppppprrqppqqqppppppqqppppppppppppppppppppppppppppppqqqqqppppqqqqqqppppppppppppppppqqqpppppppppppppppppppppppppppppppppqqqqpppppppppppppppqpppppppppppppppppppppppppppppppppppppppppqpppppppqqqqqqqppppppppppppqqqqqpqqppppppppppppppppppppqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqpppppppppppppqqqqqqpqpppppppppppppppppppppqqqqppppppppppppppppppppppppppppppppppppprrqppppppppppppqppppppppqqqppppppppppppppppppppppppppppqqqqqqqqppppppppppppppppppppppqqqqpppppppppppppppppppppppppppppppppppppqpppppppppppppqqpppppppppppqppppppppppppppppppppppppppqqpqqqqqqqpppppppppppppqqpppppppqqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqpppqqqqqqpqpppppqqqqppppppprqppqqqrqqppppqqqqqqqqppppqqqqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqpqqqqqqqppppppppqqrrppppppppppppqqrqqppqpqqpqqqqqqqqqqppqqqqppqqqqpqppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqpqqqrqqppppppppqqqqppppppppppppqqqppppqqpqqqqqqqqrrppqqqqppqppqqqqpppppppppppppppppppppppppppppppppppppppppppppppqqqpppppqqqqqpppqqppppppppppqqppppppppppppppqqpppppqqppqqqqppppqqqqpppqqppqqqpppppppppppppppppppppppppppppppppppppppppppppqrrqqpppqqqqqqqppppppppppppppppppppppppppppppppppppppppppqrqqqdppdqqqqqqqqqqqqqqqqppppppppppprpppppppppppppppppppppppppppppppqqpqppprqqqppppppppppppppppppppqqppppppppppppppppppppppqqqppprrdddqqqqqqqqqqqqqqqqpppppppppppqpppppppppppppppppqqpppppppppppppqppppppppqqqpppppppppppppppppqqpqqppppppppppppppppppppppqqpppppqdddqqrrrqqqqqqqqqqqqqqqqpppppppppppppppqqqppppppprrpppppppppqpqqqqqqppppppppppppppppppppppppqqqqqqqqqpppppppppppppppppppqqppppqpppdqrrrqqqqqqqqqqqqqpppqqqpqpppppppppqpprrppppppppppppqqpppqqqqppqqpqqqpppppppppppppppppppppqqqqrrqqpqqpppppppppqqqqppppppppppppppqqqqqpppqqqpqpqqqqqqqqqqqqqpppqqqqpqqqppppppppppppppqpqqqqqppqppppqqqpppppppppppppppppppppqqqrrrqqqpppppppppppqqqqqqqqpppppppppqqqqpppppqqqpqqqqqqrrqqpqqqqpqqqqqqqpqqpppppppppppppqqqqqqqpqqqqqqppqqppppppppppppppppppppqqqqqrqqqqpppppppppqqqqqqqqqqqpppppppqqqqpppppppppppqqqqqrrrqpqqqppqqqqqqqpqqppppppppppppqqqqqqpqqqqqqqqppqppppppppppppppppppppppqqqqqqqqqppppppppprrqqqqqqqqqpqqppppqqqpppppppppppppppqqrrqqppqqpqqqqqqqqpqppppppppppppppprrqqqrqqqqqqqqpqppppppqqqqppppqqqqpppppppppppppppppppppppppqqqppqqpppppppppppppppppppppppppqqqdddpppppqqqqqqpqppppppppppppppppppppprqqqqqqqpqppppppqqqqqppppqqqqpppppppppppppppppppppppppqrqqppqqppppppppppppqqpppppppppppqdppdppppppqqqqppppppppppppppppppppppppqqppqqqqppppppppprrqqqppppqrrqpqqqppppppppppppppppqqqpppppqqqppqppppppppppppppppppppppppppppppppppqpppqpppppppppppppppppppppppppppppqqpppppppppppppppqppppqqpppqqqppppppppppppppppqqqppppppqqppqpppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppqqqppppppppppppppppppppqqppqqqqppppppppppppppppppqpqqqqppppppppppppqqqqpppppppppppppppppppppppqqqqqppppppppppppppppppppppppppppqqppppppqppqppppppppppppqqqqqqqqppppppppppppppppppqpqqqqqppqppppppppqqrqppppppppppppppppppprqppqqqqqppppppppppppppppppppppqqppppppppppppppqpppppppppppqqqqrrrqqppppppppppppppppppqpqqqqqpppppppppppqrrqppppppppppppppppppqppppqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqrrqqqpppppppppppppqqpppqqqqqqpppppppppqqppqpppppppppppprpppppppppppqqpppppppqqppppppqqqqppppqqppppppppppppppppppppppqqqqpppqpdqqqpppppppppppppppqrqppqqqqqpppppppppqqrrppppppppqqqqppqpppppppppppppppppppppppppppppqqrrppppqqpppqqpppppppppppppppppqqqqqqqqppppppppppppppppppppqqqpppppqpppppppppppqqqqpppppqqpqqqqppppppppppppppppppppppppppppppppqqqqpppppppqqrqqqqqppppppppppqpqqqqqqqppppppppppppppppppppppppppppppppppppppppppqqpppppqppqqqqqqppppppppppppppppppppppppppppppppqpppppppqqqqqqpqpqqqppppppppqpqqrrqqpqppppppppppppppppppppppppppppppppppppppppppqqppppqqpqqqrqqqqqppppppppppppppppppppppppppppppqpppppppqqqqdppdqqrrpppppppqppqrrrqqpppppppppppqqqqqppppppppppppppppppppppppppppppppppppqqrrqqqqqqqqppppppppppppppppppppppppppppppppppppqqqqdqdqqqqqpppppppqppqrrqqqpppppppppppqqpqqppppppppppppppppppppppppppppppppppppqqrrqqqqrqqqqpqqqqqqppppppppppppppppppppqqqqqppqqqqqqqqrrqqqppppppqqpppqqqppppppppppqqpppppqrppppppppppppppppppppppppppppppppppqqqqqpppqppqqqqqqqqqpqpqppppppppppprqppqqpppppqqqqqrrqqqqppppppppppppppppppppppppqqppppqqppppppqppppppppppppppppqqqppppppppqqqqpppppppqqpppppqqppqqqqqppppppqppppqppqqqqqqdddqqqqqqpqpppppppppppppppppppqqqqqppppppppppppppqqppppqqqpppppppppqqpppppppppppppppppppqqqqqqppqqqqqrrqqppppppppppppqpqqqqqqpppdppqppqppppppppppppppppppppqqqqqqqqppppppppppqqpppppqpppppppppppppqppppppppppppppppppppqpqqqqqqppqqqqppppppppppppppppqqqqqqqqdppdqqqppppppppppppppppppppppqrqqqqqppppppppppqqqpppqqqqqqpppppppppppppppppppppppppppppqpqqqqqqqqpqqqqppppppppppppppppqqqqqqqqddddpppppppppppppppppppppppppqqqqqqqpqppppppppppqqqqpqqqqqqqpppppppppppppppppppppppppppppqpqqqqqqqqpqqrqppppppppppppppppqqqqqqqpqqpppppppppppppppppqrqpqppppppqqqqqqppppqqqqpppppqqqqqqqpppqqpppppppppppppppppppppppppppqqpqqqqqqqpqqqppppppppppppppppppqqqqqpqpppppppppppppppppppprrqpqppppqpqqqqqqppppqqqqppppqqqqqqqqqqppqqppppppppppppppppppppppppppqqpqqqqqqppqqqppppppppqpppppppqqqqqppppppppppppppppqqppppppppqppppqpqqqpppppppqqqqppppqqqqqqqqqqqppqppppppppppppppppppppppppppqqqpppqpppppppppppppppqpppppppppqqqqpppppppppppppppppqqppppppppqpppqqqqqppppppppqqqpppppqqpqqrqqqqqqqpppppppppppppqqppppppppppppqqqqpppppppppppppppppppppqqppppppppppppppppppqqppppqpppppppppppqqqqqqqqppppppppqqqqqqqqppppqqrrrrqqppppppqqqqppqrrqqqpppppppppppppppppppppppppppppppppqrqppppppppppppppppppppppppqpppppppppppqqqrqqpppppppppqqppppqqqqppqqqqqqqqqpppppppqqqqqppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqpppppppqqqqqqqqppppppppqqppppqqrrppqqqqqqqpppppppppqqrppppppqqqppppppppppppqqpppppppppppqppppppppppppppppppppppppppppppppqqqrrpppppppqqqqppqqppppppppqqppppqqppppqqqqqqppppppqqppqqqqppppppqqpppppppppppppppqpppqqqppppppqpppppppppppppqqqqppprrqqqppppppppppppppppppppppppqqqqppppppppppppdppdpppppppppppqqqqqpppppppppppppppppppppppppppppppppppppppqqqppppppppppppppqqqrqppqqpqqppppppppppppppppppppppppqrrqppppppppppqqrdddpppppppppppprqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqppppppppqppppppppppppppppppppppppqqqqpppppppppppqdppdppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqppppppppqppppppppppppppppppppppppqqpppppppppppppqdppdpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp